Ubuntu环境下制作kernel deb包 |
您所在的位置:网站首页 › linux 编译 产生shadow › Ubuntu环境下制作kernel deb包 |
1.kernel下载与解压
linux kernel下载地址: https://www.kernel.org/pub/linux/kernel/ 我下载的是linux-5.4.146.tar.xz 解压: tar -xf linux-5.4.146.tar.xz 2.环境编译前需做好准备工作,安装必要的工具: sudo apt install build-essential sudo apt install kernel-package sudo apt install dwarves 3.配置可copy一份本机原来对应内核版本的配置文件,并在此基础上进行修改。 cd linux-5.4.146 cp /boot/config-5.4.0-146-generic .config 4.编译 sudo make-kpkg --initrd --revision 001 --append-to-version -20230524 kernel_image kernel_headers --config menuconfig编译选项解释如下: --initrd:选项会让make-kpkg自动帮我们生成initramfs。 --revision:会给生成的deb文件加上一个版本信息,这个参数只是影响到文件名,如果不指定,默认会是“10.00.Custom”。 --append-to-version:是一种版本信息,它不仅出现在deb安装包的文件名里,也会影响到kernel的名称,比如本例中,内核更新完成之后,用“uname -r”察看会得到“5.4.146-20230524”。 kernel_image:表示生成内核和默认模块的安装包。 kernel_headers:表示生成一个内核头文件的安装包;如果不生成这个deb包,那么我们就无法在/usr/src目录下生成linux-headers-x.x.x,这样就无法编译自己的内核模块(虽然可以通过apt-get来安装,但是通过这个方式安装的不一定是自己正在使用的内核版本)。 --config=menuconfig:表示以menuconfig的方式编译。 编译完成后,会在linux-5.4.146的上一级目录生成2个文件,一个是image的,一个是headers的,如我生成的2个文件为:linux-image-5.4.146-20230524_001_amd64.deb,linux-headers-5.4.146-20230524_001_amd64.deb 至此,kernel的deb包就生成完成了。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |